Part JoinEmbed/pt-br

Other languages:

Part JoinEmbed

Menu location
Part → Join → Embed object
Workbenches
Part
Default shortcut
None
Introduced in version
0.16
See also
Part JoinConnect, Part JoinCutout, Part Boolean, Part Thickness

Description

The Part JoinEmbed tool embeds a walled object (e.g. a pipe) into another walled object.

Usage

  1. Select the base object first, then the object to be embedded. The order of selection is important. It is enough to select one sub-shape of each object (e.g. faces).
  2. There are several ways to invoke the tool:
    • Press the Embed object button.
    • Select the Part → Join → Embed object option from the menu.
  3. A Part JoinFeature object is created, with Mode set to 'Embed'. Original objects are hidden, and the result of embedding is shown in the 3D view.

Properties

Base

Example

  1. Create a pipe by applying thickness to a cylinder:
  2. Create another, smaller diameter pipe, and place it so that it pierces the wall of the first pipe:
  3. Select the first pipe, then the second pipe (order of selection is important), and click the 'Embed object' option from the Join tools dropdown toolbar button.
  4. Use some cross-section tool (Clipping plane, Arch Section Plane, Arch Cut Plane) to reveal internals. On the picture below, Arch Section Plane is used.

Algorithm

The algorithms behind Join tools are quite simple, and understanding them is important to use the tools correctly.

1. Base object is boolean-cut with Tool object. The resulting shape is a set (compound) of non-intersecting solids (typically, two).

2. The resulting compound is filtered: only the largest solid is kept.

3. That largest solid is boolean-fused with Tool object.

4. If Refine property is true, the resulting shape is refined.

Notes

Scripting

The Join tools can by used in macros and from the python console by using the following function:

JoinFeatures.makePartJoinFeature(name = 'Embed', mode = 'Embed')

Example:

import JoinFeatures
j = JoinFeatures.makePartJoinFeature(name = 'Embed', mode = 'Embed' )
j.Base = FreeCADGui.Selection.getSelection()[0]
j.Tool = FreeCADGui.Selection.getSelection()[1]

The tool itself is implemented in Python, see /Mod/Part/JoinFeatures.py (Github link) under where FreeCAD is installed.